View Javadoc

1   // x86Constants.java, created Mon Feb  5 23:23:19 2001 by joewhaley
2   // Copyright (C) 2001-3 John Whaley <jwhaley@alum.mit.edu>
3   // Licensed under the terms of the GNU LGPL; see COPYING for details.
4   package joeq.Assembler.x86;
5   
6   /***
7    * x86Constants
8    *
9    * @author  John Whaley <jwhaley@alum.mit.edu>
10   * @version $Id: x86Constants.java 1451 2004-03-09 06:27:08Z jwhaley $
11   */
12  public interface x86Constants {
13  
14      int CACHE_LINE_SIZE = 256;
15      
16      byte BOUNDS_EX_NUM = 5;
17      
18      int EAX = 0;
19      int ECX = 1;
20      int EDX = 2;
21      int EBX = 3;
22      int ESP = 4;
23      int EBP = 5;
24      int ESI = 6;
25      int EDI = 7;
26  
27      int AL = 0;
28  
29      int AX = 0;
30  
31      int RA = 0x04;
32      int SEIMM8 = 0x0200;
33      int SHIFT_ONCE = 0x1000;
34      int CJUMP_SHORT = 0x70;
35      int CJUMP_NEAR = 0x0F80;
36      int JUMP_SHORT = 0x0B;
37      int JUMP_NEAR = 0x09;
38      
39      int MOD_EA = 0x00;
40      int MOD_DISP8 = 0x40;
41      int MOD_DISP32 = 0x80;
42      int MOD_REG = 0xC0;
43  
44      int RM_SIB = 0x04;
45  
46      int SCALE_1 = 0x00;
47      int SCALE_2 = 0x40;
48      int SCALE_4 = 0x80;
49      int SCALE_8 = 0xC0;
50  
51      // pairing
52      int NP = 0;
53      int PU = 1;
54      int PV = 2;
55      int UV = 3;
56  
57      // u-ops
58      int COMPLEX = 5;
59  }